package com.itheima.d1_exception;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 目标：异常的处理
 *
 * 需求 : 程序存在多异常 , 如何处理 ?
 */
public class ExceptionTest3 {

    public static void main(String[] args)  {
        //异常处理方案：顶层main方法中不允许向上抛出异常，必须使用try-catch处理掉异常
//        try {
//            test1(); //test1方法中抛出了编译时异常：说明main方法中也存在编译时异常了
//        } catch (ParseException e) {
//            e.printStackTrace();//打印出异常的相关信息（不会停止程序）
//        } catch (FileNotFoundException e) {
//            System.out.println(e.getMessage());
//        }

        try {
            test1();
        } catch (Exception e) { //在企业开发中，不推荐使用一个Exception解决所有异常问题
            //Exception是所有异常的父类型，可以解决所有异常问题
            e.printStackTrace();
        }

//        test2();
    }

    public static void test1() throws ParseException, FileNotFoundException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        //在解析日期时间数据时，可能会出现异常：编译时异常（写代码时就必须添加上异常处理的代码）
        Date d = sdf.parse("2028-11-11 10:24:11");

        System.out.println(d);


        test2();
    }


    public static void test2() throws FileNotFoundException {
        // 读取文件的。
        InputStream is = new FileInputStream("D:/meinv.png");

    }
}
